package com.ruoyi.ap.service;

import java.util.List;
import com.ruoyi.ap.domain.Farmer;
import com.ruoyi.ap.pojo.vo.FarmerVo;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysDept;

/**
 * 农户Service接口
 * 
 * @author HuaQP
 * @date 2023-09-11
 */
public interface IFarmerService 
{
    /**
     * 查询农户
     * 
     * @param id 农户主键
     * @return 农户
     */
    Farmer selectFarmerById(Long id);

    /**
     * 查询农户列表
     * 
     * @param farmerVo 农户
     * @return 农户集合
     */
    List<FarmerVo> selectFarmerVoList(FarmerVo farmerVo);

    /**
     * 新增农户
     * 
     * @param farmer 农户
     * @return 结果
     */
    int insertFarmer(Farmer farmer);

    /**
     * 修改农户
     * 
     * @param farmer 农户
     * @return 结果
     */
    int updateFarmer(Farmer farmer);

    /**
     * 批量删除农户
     * 
     * @param ids 需要删除的农户主键集合
     * @return 结果
     */
    int deleteFarmerByIds(Long[] ids);

    /**
     * 删除农户信息
     * 
     * @param id 农户主键
     * @return 结果
     */
    int deleteFarmerById(Long id);

    // 查询农户树结构信息
    List<TreeSelect> selectFarmerTreeList();
}
